unit fprincipal;

{$mode objfpc}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, Menus, Buttons, dmprincipal, dmcadastro, dmlaboratorio, dmanalise,
  dmusuario;

type

  { TFormPrincipal }

  TFormPrincipal = class(TForm)
    ButtonLaboratorio: TBitBtn;
    ButtonProdutor: TBitBtn;
    ButtonAnalise: TBitBtn;
    ButtonTecnico: TBitBtn;
    ButtonMunicipio: TBitBtn;
    ButtonUsuario: TBitBtn;
    ButtonSair: TBitBtn;
    procedure ButtonAnaliseClick(Sender: TObject);
    procedure ButtonMunicipioClick(Sender: TObject);
    procedure ButtonLaboratorioClick(Sender: TObject);
    procedure ButtonProdutorClick(Sender: TObject);
    procedure ButtonSairClick(Sender: TObject);
    procedure ButtonTecnicoClick(Sender: TObject);
    procedure ButtonUsuarioClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure HabilitaBotoes();
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FormPrincipal: TFormPrincipal;

implementation

uses
  fusuarioopcoes;

{ TFormPrincipal }

procedure TFormPrincipal.FormActivate(Sender: TObject);
begin
  HabilitaBotoes();
end;

procedure TFormPrincipal.HabilitaBotoes();
begin
  if DataUsuario.ZQueryUsuario.FieldByName('tipo_usuario').AsString = 'L' then
  begin
    FormPrincipal.ButtonLaboratorio.Enabled := False;
    FormPrincipal.ButtonTecnico.Enabled := False;
    FormUsuarioOpcoes.ButtonCadastrarUsuario.Enabled := False;
    FormPrincipal.ButtonMunicipio.Enabled := False;
  end
  else if DataUsuario.ZQueryUsuario.FieldByName('tipo_usuario').AsString = 'T' then
  begin
    FormUsuarioOpcoes.ButtonCadastrarUsuario.Enabled := False;
    FormPrincipal.ButtonLaboratorio.Enabled := True;
    FormPrincipal.ButtonTecnico.Enabled := True;
    FormPrincipal.ButtonMunicipio.Enabled := True;
  end
  else if DataUsuario.ZQueryUsuario.FieldByName('tipo_usuario').AsString = 'A' then
  begin
    FormUsuarioOpcoes.ButtonCadastrarUsuario.Enabled := True;
    FormPrincipal.ButtonLaboratorio.Enabled := True;
    FormPrincipal.ButtonTecnico.Enabled := True;
    FormUsuarioOpcoes.ButtonCadastrarUsuario.Enabled := True;
    FormPrincipal.ButtonMunicipio.Enabled := True;
  end;
end;

procedure TFormPrincipal.ButtonLaboratorioClick(Sender: TObject);
begin
  DataLaboratorio.LaboratorioCadastro();
end;

procedure TFormPrincipal.ButtonMunicipioClick(Sender: TObject);
begin
  DataCadastro.MunicipioCadastro();
end;

procedure TFormPrincipal.ButtonAnaliseClick(Sender: TObject);
begin
  DataAnalise.AnaliseCadastro();
end;

procedure TFormPrincipal.ButtonProdutorClick(Sender: TObject);
begin
  DataCadastro.ProdutorCadastro();
end;

procedure TFormPrincipal.ButtonSairClick(Sender: TObject);
begin
  Close();
end;

procedure TFormPrincipal.ButtonTecnicoClick(Sender: TObject);
begin
  DataLaboratorio.TecnicoCadastro();
end;

procedure TFormPrincipal.ButtonUsuarioClick(Sender: TObject);
begin
  FormUsuarioOpcoes.ShowModal();
end;

initialization
  {$I fprincipal.lrs}

end.
